class ARRAY3{T} < $ELT{T} |
---|
**** | Three-dimensional arrays of elements of type T. |
$ELT{_} | $ELT | AREF{_} |
attr size1:INT; |
---|
**** | Size of the slowest changing dimension. multiplication in accessing the array |
attr size2:INT; |
---|
**** | Size of the second fastest changing dimension. multiplication in accessing the array |
attr size3:INT; |
---|
**** | Size of the fastest changing dimension. multiplication in accessing the array |
aget(i1,i2,i3:INT):T |
---|
**** | The element with indices `[i1,i2,i3]'. |
aset(i1,i2,i3:INT,val:T) |
---|
**** | Set the element with indices `[i1,i2,i3]' to val. |
copy: SAME |
---|
**** | Return a new 3D array with the same set of values as self |
create(a: ARRAY{ARRAY{ARRAY{T}}}): SAME |
---|
create(d1,d2,d3:INT):SAME |
---|
**** | A new three-dimensional array with dimensions `d1 x d2 x d3' initialized to void. |
nc: INT |
---|
**** | The size of the second dimension of the array. Number of cols |
ne: INT |
---|
**** | The size of the third dimension of the array. Number of elements |
nr: INT |
---|
**** | The size of the first dimension of the array. Number of rows |
to_transpose_of(a1:SAME) |
---|
**** | Set self to the transpose of a1. |
transpose: SAME |
---|
**** | Return a new array containing the transpose of self |
col_elt!(once col,once elem:INT):T |
---|
**** | Yield elements by varying index 1 and holding index 2 at `col' and index 3 at `elem'. The elements of a "column" col
______loop_yield(aelt!(col,nr,nc));_end_end; |
col_ind!:INT |
---|
**** | Yield each value of the second index in order. The columns |
diag_elt!: T |
---|
**** | Yield values along the diagonal (square in smaller dimension) |
elem_elt!(once row,once col:INT):T |
---|
**** | Yield elements by varying index 3 and holding index 2 at `col' and index 1 at `row'. The elements of a "elements (third dimension)" elem |
elem_ind!:INT |
---|
**** | Yield each value of the third index in order. The elements |
elt!: T |
---|
**** | Yield all elements in row major order |
elt1!(once col,once elem:INT):T |
---|
**** | Yield elements by varying index 1 and holding index 2 at `col' and index 3 at `elem'. The elements of a "column" col
______loop_yield(aelt!(col,nr,nc));_end_end; |
elt2!(once row,once elem:INT):T |
---|
**** | Yield elements by varying index 2 and holding index 1 at `row' and index 3 at `elem'. The elements of a row "row"
______loop_yield(aelt!(row*nc,nc,1));_end_end; |
elt3!(once row,once col:INT):T |
---|
**** | Yield elements by varying index 3 and holding index 2 at `col' and index 1 at `row'. The elements of a "elements (third dimension)" elem |
ind1!: INT |
---|
**** | Yield each value of the first index in order. The rows |
ind2!:INT |
---|
**** | Yield each value of the second index in order. The columns |
ind3!:INT |
---|
**** | Yield each value of the third index in order. The elements |
inds!:TUP{INT,INT,INT} |
---|
**** | Yield tuples of the indices of self in lexicographical order. |
row_elt!(once row,once elem:INT):T |
---|
**** | Yield elements by varying index 2 and holding index 1 at `row' and index 3 at `elem'. The elements of a row "row"
______loop_yield(aelt!(row*nc,nc,1));_end_end; |
row_ind!: INT |
---|
**** | Yield each value of the first index in order. The rows |
set!(val:T) |
---|
**** | Set all elements in row major order |
set1!(once col,once elem:INT, val:T) |
---|
**** | Set to val elements with varying index 1 and index 2 fixed at `col' and index 3 fixed at `elem'. i.e. setting the column col
______loop_aset!(col,nr,nc,val);_yield_end_end; |
set2!(once row,once elem:INT, val:T) |
---|
**** | Set to val elements with varying index 2 and index 1 fixed at `row' and the index 3 fixed at `elem'. i.e. setting a row "row"
______loop_aset!(row*nc,nc,val);_yield_end_end; |
set3!(once row,once col:INT, val:T) |
---|
**** | Set to val elements with varying index 1 and index 2 fixed at `col' and index 3 fixed at `elem'. i.e. setting the column col
______loop_aset!(col,nr,nc,val);_yield_end_end; |
set_col!(once col,once elem:INT, val:T) |
---|
**** | Set to val elements with varying index 1 and index 2 fixed at `col' and index 3 fixed at `elem'. i.e. setting the column col
______loop_aset!(col,nr,nc,val);_yield_end_end; |
set_diag_elt!(val:T) |
---|
**** | Set values along the diagonal (square in smaller dimension) |
set_elem!(once row,once col:INT, val:T) |
---|
**** | Set to val elements with varying index 1 and index 2 fixed at `col' and index 3 fixed at `elem'. i.e. setting the column col
______loop_aset!(col,nr,nc,val);_yield_end_end; |
set_row!(once row,once elem:INT, val:T) |
---|
**** | Set to val elements with varying index 2 and index 1 fixed at `row' and the index 3 fixed at `elem'. i.e. setting a row "row"
______loop_aset!(row*nc,nc,val);_yield_end_end; |
attr size1:INT; |
---|
**** | Size of the slowest changing dimension. multiplication in accessing the array |
attr size2:INT; |
---|
**** | Size of the second fastest changing dimension. multiplication in accessing the array |
attr size23:INT; |
---|
**** | size2*size3, pre-multiplied to spare a multiplication in accessing the array |
attr size23:INT; |
---|
**** | size2*size3, pre-multiplied to spare a multiplication in accessing the array |
attr size3:INT; |
---|
**** | Size of the fastest changing dimension. multiplication in accessing the array |